Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

poszukuje programu / porady


Rekomendowane odpowiedzi

Opublikowano

Mam napisać program z wykorzystaniem zagnieżdżeń klasy na zasadzie :

-tworze klase figury

-gdy wybieram 1 wyskakuje mi klasa kolo i prosi o podanie zmiennych i liczy obwod i pole kola;

-gdy wybieram 2 wyskakuje prostokat i to samo;

-gdy wybieram 3 wyskakuje klasa trojkata i to samo;

 

Może mnie ktoś naprowadzić z tym programem ? jakieś podobne przykłady lub jak zrobić to nie użwayjąc "case" ? 

 

 

POMÓGŁ CI MÓJ PORADNIK ? DAJ PLUS ! TO NIC NIE KOSZTUJE A MOTYWUJE DO DALSZEJ PRACY !

Opublikowano

Nie chcesz używać case? To bardzo proste:

int wybor;
cin>>wybor;
if(wybor == 1){
    //kod
}else if(wybor == 2){
   //kod
}
//...
else{
 //kod, jeśli żaden z ww warunków nie jest spełniony.
}

Zagnieżdżeń? A nie dziedziczenia?


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Właśnie zagnieżdżenia ;) bez dziedziczenia 

POMÓGŁ CI MÓJ PORADNIK ? DAJ PLUS ! TO NIC NIE KOSZTUJE A MOTYWUJE DO DALSZEJ PRACY !

Opublikowano

Czyli rozumiem, że klasy figur mają być w jednej klasie Figury?

class Figury{
    public:
    class Prostokat{
       int a;
       int b;
       int obwod();
       //..
    }
    //...
};

int main()
{
    Figury::Prostokat prostokat;
}

Zakladam, że o coś takiego chodzi.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Dokładnie :) Dzięki wielkie za pomoc , dalej sobie poradzę ! :)

POMÓGŁ CI MÓJ PORADNIK ? DAJ PLUS ! TO NIC NIE KOSZTUJE A MOTYWUJE DO DALSZEJ PRACY !

Opublikowano

REEDIT !@

 

Mam napisany taki program i działa ale jest jeden mankament 

#include<iostream>
using namespace std;


class figury{

private:
	int menu;
public:
	figury()
	{
		cout<<"Jaka figure chcesz obliczyc ?"<<endl;
		cout<<"1-kolo; 2-prostokat; 3-trojkat"<<endl;
		cin>>menu;
	
switch (menu){
	case 1: {kolo x;break;}
	case 2: {prostokat x;break;}
	case 3: {trojkat x;break;}
	        }
		
	}
		

	class kolo{
		double r;
		public:
			 kolo(){
			 	cout<<"Podaj promien kola"<<endl;
			 	cin>>r;
			 	double pole=(3.14*r*r);
			 	double obwod=(2*3.14*r);
			 	cout<<"Pole kola wynosi:"<<pole<<endl;
			 	cout<<"Obwod kola wynosi:"<<obwod<<endl;
			 	}
       
       
    };
    class prostokat{
    	double a,b;
    	public:
    		prostokat(){
    		cout<<"Podaj boki prostokata:"<<endl;
    		cin>>a,b;
    		double pole=(a*;
    		double obwod=(a+;
    		cout<<"Pole prostokatu wynosi:"<<pole<<endl;
    		cout<<"Obwod wynosi : "<<obwod<<endl;
			}
    };
    class trojkat{
    	double a,b,c,h;
    	public:
    		trojkat(){
    			cout<<"Podaj boki trojkata:"<<endl;
    			cin>>a,b,c;
    			cout<<"Podaj wysokosc trojkata:"<<endl;
    			cin>>h;
    			double pole=(a*h/2);
    			double obwod=(a+b+c);
    			cout<<"Pole trojkata wynosi:"<<pole<<endl;
    			cout<<"Obwod trojkata wynosi:"<<obwod<<endl;
    		}
    }; 
    

    
};

int main()
{
    figury x;
}

mianowicie jak zrobić aby zastąpić obliczenia w środku klas na oddzielną funkcję , jak to zrobić ?

POMÓGŁ CI MÓJ PORADNIK ? DAJ PLUS ! TO NIC NIE KOSZTUJE A MOTYWUJE DO DALSZEJ PRACY !

Opublikowano
Opublikowano

Już to ogarnąłem i kod wygląda tak 

#include<iostream>
using namespace std;


class figury{

private:
	int menu;
public:
	figury()
	{
		cout<<"Jaka figure chcesz obliczyc ?"<<endl;
		cout<<"1-kolo; 2-prostokat; 3-trojkat"<<endl;
		cin>>menu;
	
switch (menu){
	case 1: {kolo x; x.fw();break;}
	case 2: {prostokat x; x.fw();break;}
	case 3: {trojkat x; x.fw();break;}
	        }
		
	}
		

	class kolo{
		double r;
		public:
			 kolo(){
			 	cout<<"Podaj promien kola"<<endl;
			 	cin>>r;}
			 	double fw (){
			 	double pole=(3.14*r*r);
			 	double obwod=(2*3.14*r);
			 	cout<<"Pole kola wynosi:"<<pole<<endl;
			 	cout<<"Obwod kola wynosi:"<<obwod<<endl;
			 	}
       
       
    };
    class prostokat{
    	double a,b;
    	public:
    		prostokat(){
    		cout<<"Podaj boki prostokata:"<<endl;
    		cin>>a,b;}
    		double fw() {
    		double pole=(a*;
    		double obwod=(a+;
    		cout<<"Pole prostokatu wynosi:"<<pole<<endl;
    		cout<<"Obwod wynosi : "<<obwod<<endl;
			}
    };
    class trojkat{
    	double a,b,c,h;
    	public:
    		trojkat(){
    			cout<<"Podaj boki trojkata:"<<endl;
    			cin>>a,b,c;
    			cout<<"Podaj wysokosc trojkata:"<<endl;
    			cin>>h;}
    			double fw() {
    			double pole=(a*h/2);
    			double obwod=(a+b+c);
    			cout<<"Pole trojkata wynosi:"<<pole<<endl;
    			cout<<"Obwod trojkata wynosi:"<<obwod<<endl;
    		}
    }; 
    

    
};

int main()
{
    figury x;
}

Jak teraz to przerobić aby zastosować dziedziczenie klas ? tzn program ma robić to samo ale ma mieć dziedziczenie i destruktor . Czyli klasy trojkat prostokat i kolo dziedziczy z klasy figury. Ktoś może to przerobić albo jakieś wskazówki dać ? ;)

POMÓGŁ CI MÓJ PORADNIK ? DAJ PLUS ! TO NIC NIE KOSZTUJE A MOTYWUJE DO DALSZEJ PRACY !

Opublikowano

Ech okej widzę , że wychwyciłeś moje błędne zapisy co niektóre ale szukam wskazówki lub jeśli ktoś ma czas i chęci przerobienia tego programu tak aby było to co napiusałem wcześniej ;)

POMÓGŁ CI MÓJ PORADNIK ? DAJ PLUS ! TO NIC NIE KOSZTUJE A MOTYWUJE DO DALSZEJ PRACY !

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...